• 1400/08/02
  • 0
  • 171
1400/08/02 |
backend

User Id == Null

سلام استاد عزیز . سبد خریدم رو با راهنمایی های شما خط به خط پیاده سازی کردم . مشکل اینجاست که بعد از set کردن cart  برای  user در فایل ICartService و استفاده از ClaimUtility  متاسفانه بعد از زدن دکمه اضافه شدن به سبد خرید باز هم ستون User Id در دیتابیس خالی میباشد . برنامه که خط به خط اجرا میشه دقیقا در GetUserId در فایل  ClaimUtility  خطا میده . البته اکسپشن میده و رد میشه و مقدار در دیتابیس میشینه اما متاسفانه بدون  User Id . در کل هم          user  نال هست هم User id  . از این تعجب میکنم که عملیات Signin  با موفقیت و شناسایی همه claim ها انجام میشه ولی به مرحله سبد خرید که میرسم User Id  نال هست . خیلی ممنون از آموزش بسیار روان و کاربردی شما . حبیبی


سلام

اگر ممکنه کد قسمتی که هم اکسپشن تولید میکنه و هم userid رو خالی نشون میده رو قرار بدید تا چک کنیم

اینطوری نمیشه خطایابی کرد


 public static int? GetUserId(ClaimsPrincipal User)
        {

            try
            {

                var claimsIdentity = User.Identity as ClaimsIdentity;
                int UserId = int.Parse(claimsIdentity.FindFirst(ClaimTypes.NameIdentifier).Value);

                return UserId;
            }
            catch (Exception)
            {

                return null;
            }

        }

سلام مجدد . سه تا عکس هم ایمیل کردم از اکسپشن به آدرس ایمیلتون . متشکرم


سلام

مگه userId از نوع Guid نیست؟

اگر از نوع Guid باشه که نمیتونه به int تبدیل کنه و نال برمیگردونه

مگر اینکه نوع id عددی باشه

توی بانک چطوری تعریف کردی؟


سلام دوست عزیز . یوزر آی دی توی دیتابیس از نوع int هست . باگ باید جای دیگه باشه . که البته برای همین منظور همه یوزر آی دی هارو از نوع GUID قرار دادم اما باز هم نال برگشت میده . توی تمام claim ها فقط همین UserId رو نال برگشت میده وگرنه Role هارو دارم و توی تنظیمات پروژه Role ها کاملا از هم تفکیک شده و خیلی دقیق کارشون رو انجام میدن . ممنون از توجهتون


  • 1400/08/15

سلام 

احتمالا اشکال در Relation  بین جداول هست 

هر دو کلاس موجودیت ها رو چک کنید



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری